package org.fujay.langchain4jserver.domain.model.vo;

import org.springframework.util.Assert;

import java.io.Serial;
import java.io.Serializable;

/**
 * 模型供应商信息值对象
 *
 * @param supplierCode 例如: "openai", "zhipu", "aliyun"
 * @param supplierName 例如: "OpenAI", "智谱AI", "阿里云通义千问"
 */
public record SupplierInfo(String supplierCode, String supplierName) implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    public SupplierInfo {
        Assert.hasText(supplierCode, "服务商编码禁止为空");
        Assert.hasText(supplierName, "服务商名称禁止为空");
    }
}
